#! usr/bin/env python
#enconding: utf-8

import grafo

def prueba (f):
	if f:
		print "OK"
	else:
		print "ERROR"

def main():
	g = grafo.Grafo()
	v1 = grafo.Vertice(1, "a")
	v2 = grafo.Vertice(2, "b")
	v3 = grafo.Vertice(3, "c")
	v4 = grafo.Vertice(4, "d")
	v5 = grafo.Vertice(5, "e")
	
	
	#Prueba agregar vertices
	print "Prueba agregar vertice v1"
	prueba(g.agregar_vertice(v1))
	
	print "Prueba que vertice v2 no se encuentra en el grafo"
	prueba(not g.esta_vertice(v2))
	
	print "Prueba agregar vertice v2"
	prueba(g.agregar_vertice(v2))
	
	
	#Prueba ver si los vertices existen
	print "Prueba ver si el vertice v1 se encuentra en el grafo"
	prueba(g.esta_vertice(v1))
	
	#Prueba que el vertice no se encuentre en el grafo
	print "Prueba que el vertice v3 no se encuentra en el grafo"
	prueba(not g.esta_vertice(v3))
	
	print "Prueba agregar vertice v3"
	prueba(g.agregar_vertice(v3))
	print "Prueba agregar vertice v4"
	prueba(g.agregar_vertice(v4))
	print "Prueba agregar vertice v5"
	prueba(g.agregar_vertice(v5))
	
	print "Prueba obtener el vertice v1"
	prueba(g.obtener_vertice(v1.id))
	print "Prueba obtener el vertice v2"
	prueba(g.obtener_vertice(v1.id))
	print "Prueba obtener el vertice v3"
	prueba(g.obtener_vertice(v1.id))
	
	#Prueba agregar aristas
	print"Prueba agregar una arista desde v1 hacia v2"
	prueba(g.agregar_arista(v1,v2,(6,1)))
	
	print"Prueba agregar una arista desde v3 hacia v1"
	prueba(g.agregar_arista(v3,v1,(4,4)))
	
	print"Prueba agregar una arista desde v1 hacia v5"
	prueba(g.agregar_arista(v1,v5,(1,6)))
		
	print"Prueba agregar una arista desde v3 hacia v5"
	prueba(g.agregar_arista(v5,v3,(1,6)))
	print"Prueba agregar una arista desde v1 hacia v5"
	prueba(g.agregar_arista(v3,v4,(1,6)))
	print"Prueba agregar una arista desde v1 hacia v5"
	prueba(g.agregar_arista(v4,v2,(1,6)))
	
	#Prueba borrar aristas
	print "Prueba borrar arista de v1 a v5"
	prueba(g.borrar_arista(v1,v5))
	print "Prueba borrar arista de v1 a v5"
	prueba(g.borrar_arista(v5,v3))
	
	
	#Prueba borrar un vertice
	print"Prueba borrar el vertice 1"
	prueba(g.borrar_vertice(v1))
	print"Prueba borrar el vertice 4"
	prueba (g.borrar_vertice(v4))


main()
